//
//  EllipseButton.m
//  ios-supplier
//
//  Created by feynmanyuan on 15/4/22.
//  Copyright (c) 2015年 feynmanyuan. All rights reserved.
//

#import "EllipseButton.h"

@implementation EllipseButton

- (void)drawRect:(CGRect)rect {
    // 获取CGContext，注意UIKit里用的是一个专门的函数
    CGContextRef context = UIGraphicsGetCurrentContext();
    
    CGContextSetStrokeColorWithColor(context, LineColorImportant.CGColor);
    CGContextSetLineWidth(context, 1.0);
    
    CGFloat fixX = 4;
    CGFloat fixY = 2;
    
    CGFloat width = rect.size.width;
    CGFloat height = rect.size.height;
    // 简便起见，这里把圆角半径设置为长和宽平均值的1/10
    CGFloat radius = (width + height) * 0.05;
    // 移动到初始点
    CGContextMoveToPoint(context, radius + fixX, fixY);
    
    // 绘制第1条线和第1个1/4圆弧
    CGContextAddLineToPoint(context, width - radius - fixX, fixY);
    CGContextAddArc(context, width - radius - fixX , radius + fixY, radius, -0.5 * M_PI, 0.0, 0);
    
    // 绘制第2条线和第2个1/4圆弧
    CGContextAddLineToPoint(context, width - fixX, height - radius - fixY);
    CGContextAddArc(context, width - radius - fixX, height - radius - fixY, radius, 0.0, 0.5 * M_PI, 0);
    
    //    // 绘制第3条线和第3个1/4圆弧
    CGContextAddLineToPoint(context, radius + fixX, height - fixY);
    CGContextAddArc(context, radius + fixX, height - radius - fixY, radius, 0.5 * M_PI, M_PI, 0);
    //
    //    // 绘制第4条线和第4个1/4圆弧
    CGContextAddLineToPoint(context, fixX, radius + fixY);
    CGContextAddArc(context, radius + fixX, radius + fixY, radius, M_PI, 1.5 * M_PI, 0);
    
    // 闭合路径
    CGContextClosePath(context);
    // 填充半透明黑色
//    CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, 0.5);
    CGContextSetFillColorWithColor(context, LineColorImportant.CGColor);
    CGContextDrawPath(context, kCGPathFill);
    CGContextStrokePath(context);
}

@end
